﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;

namespace SmartFramework.Core.Utils {
	public class FileSystem : IFileSystem {
		public void CreateDirectory(string directory) {
			Directory.CreateDirectory(directory);
		}

		public void DeleteDirectory(string folder, bool recursive) {
			throw new NotImplementedException();
		}

		public void DeleteFile(string path) {
			throw new NotImplementedException();
		}

		public bool DirectoryExists(string path)
		{
			return Directory.Exists(path);
		}

		public bool FileExists(string path) {
			throw new NotImplementedException();
		}

		public string GetExePath() {
			return (Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + Path.DirectorySeparatorChar);
		}

		public DateTime GetCreationTime(string path) {
			throw new NotImplementedException();
		}

		public string GetCurrentDirectory()
		{
			return Directory.GetCurrentDirectory();
		}

		public string[] GetDirectories(string path)
		{
			return Directory.GetDirectories(path);
		}

		public string[] GetDirectories(string path, string pattern) {
			throw new NotImplementedException();
		}

		public string[] GetDirectories(string path, string pattern, System.IO.SearchOption option) {
			throw new NotImplementedException();
		}

		public string[] GetFiles(string path) {
			throw new NotImplementedException();
		}

		public string[] GetFiles(string path, string pattern) {
			throw new NotImplementedException();
		}

		public string[] GetFiles(string path, string pattern, System.IO.SearchOption option) {
			throw new NotImplementedException();
		}

		public DateTime GetLastWriteTime(string path) {
			throw new NotImplementedException();
		}

		public System.IO.Stream OpenAppend(string path, int bufferSize) {
			throw new NotImplementedException();
		}

		public System.IO.Stream OpenRead(string path, int bufferSize) {
			throw new NotImplementedException();
		}

		public System.IO.Stream OpenReadWrite(string path, int bufferSize) {
			throw new NotImplementedException();
		}

		public System.IO.Stream OpenWrite(string path, int bufferSize) {
			throw new NotImplementedException();
		}

		public void SetCurrentDirectory(string directory) {
			Directory.SetCurrentDirectory(directory);
		}

		public void SetLastWriteTime(string path, DateTime time) {
			throw new NotImplementedException();
		}
	}
}
